Build an OpenStreetMap Route Planner

Compiling and Testing

Criteria Meet Specification

The submission must compile.

The project code must compile without errors using cmake and make.

The submission must pass the final set of unit tests.

Code must pass tests that are built with the cmake_tests .. commands from the build directory of the classroom IDE here. See the project submission instructions for more details on how to run the tests.

User Input

Criteria Meet Specification

The user should be able to provide inputs to the search.

A user running the project should be able to input values between 0 and 100 for the start x, start y, end x, and end y coordinates of the search, and the project should find a path between the points.

The user inputs should correspond with areas on the map.

The coordinate (0, 0) should roughly correspond with the lower left corner of the map, and (100, 100) with the upper right.

Note that for some inputs, the nodes might be slightly off the edges of the map, and this is fine.

Code Efficiency

Criteria Meet Specification

The methods in the code should avoid unnecessary calculations.

Your code does not need to sacrifice comprehension, stability, or robustness for speed. However, you should maintain good and efficient coding practices when writing your functions.

Here are some things to avoid. This is not a complete list, but there are a few examples of inefficiencies.

  • Running the exact same calculation repeatedly when you can run it once, store the value and then reuse the value later.
  • Loops that run too many times.
  • Creating unnecessarily complex data structures when simpler structures work equivalently.
  • Unnecessary control flow checks.